#ifndef _SOKOBAN_CONSTANTS_H_
#define _SOKOBAN_CONSTANTS_H_

#include <stdint.h>

namespace sokoban
{

typedef uint16_t T_DIM;
typedef uint16_t T_POS;

///this enumeration is used as the contents of squares in CBoard.
//
// It is organized such as non walkable area are < 0 and walkable area
// are > 0
enum ECell
{
  CELL_WALL = -3,
  CELL_BOX,
  CELL_BOX_ON_GOAL,
  CELL_PLAYER, // = 0		///< the player is there
  CELL_PL_ON_GOAL,
  CELL_FLOOR,
  CELL_GOAL,
  CELL_DEADLOCK
};

// The different entities lying on the board
enum EWHO
{
  NONE   = 0,
  PLAYER = ( 1 << 0 ),
  BOX    = ( 1 << 1 )
};

/*namespace sokoban*/ }

#endif
